Along with the explosive growing of the networks, traffic of service data on the networks is increasing in exponential terms, causing frequently network congestions. At present, the nodes in a network always select the shortest path without considering such factors as bandwidth, which results in the problem that the service data will not be switched to other paths even if there is congestion in a certain path. When the traffic of service data in the network is relatively small, there is no severe problem. When networks are no longer only the object of research and more and more applications of network have been implemented, however, the network congestion resulting from the method of selecting the shortest path as the preferred path for routing service data becomes much more severe.
Multi-Protocol Label Switching (MPLS), as an overlaid model, makes it easy to establish a virtual topology on the physical network topology and to map the traffic of service data on this virtual topology. Therefore, there emerges the technique of MPLS TE which is a combination of MPLS and traffic engineering. MPLS TE is able to solve the problem of network congestion caused by the method of routing service data on the shortest path first.
At present, MPLS TE includes four components: a packet forwarding component, an information advertisement component, a signaling component, and a path calculation component. With the coordination of the four components, MPLS TE implements the routing of service data and the transmission of service data on the determined route.
The packet forwarding component of MPLS TE forwards the service data in the format of packet along a pre-established Label Switched Path (LSP) through labels. As LSP is established in advance according to the congestion status of the network, it is possible to avoid the disadvantage caused by selecting the shortest path for routing service data.
The information advertisement component of MPLS TE extends the Interior Gateway Protocol (IGP) of the existing networks to advertise the information of link status. The information of link status includes: maximum bandwidth, maximum bandwidth can be reserved, current reserved bandwidth, and link color, etc. Each node in a network maintains the link attributes and topology attributes of the network by the link status information it received, which will form a Traffic Engineering Data Base (TEBD) of service data. Using TEBD, nodes in the network can calculate the routes for transferring service data with various constraints.
The signaling component of MPLS TE is for reserving resources, and establishing LSP for transferring service data. LSP can be established by means of Constraint Routing-Label Distribution Protocol (CR-LDP) or Resource Reservation Protocol-Traffic Engineering (RSVP-TE) extension, the two protocols both support such functions as LSP establishment, explicit routing, and resource information carrying. Take RSVP-TE as an example, in order to establish LSP, RSVP has been extended, i.e., a Label Request object is introduced into RSVP PATH message to enable the nodes in the network to initiate a label request; and the Label object is introduced into RSVP RESV message to enable the network to assign labels, thereby it is possible to establish LSP. In order to establish constraint LSP, an Explicit Route Object (ERO) is introduced into the RSVP RESV message as well.
The path calculation component of MPLS TE employs a CSPF (Constraint Short Path First) algorithm, calculating the route for transferring service data with designated constraints according to the data saved in TEBD. The constraints for routing may be indicated by the ERO that is set in the original node for identifying the route. An ERO includes multiple ERO sub-objects, and each ERO sub-object corresponds to a node or node interface that the route will pass. When the node attribute set in an ERO sub-object of a route is loose, the route may or may not pass the node or the node interface corresponding to this ERO sub-object; when the node attribute set in an ERO sub-object of a route is strict, this route must pass the node or the node interface corresponding to this ERO sub-object.
So far, the techniques for implementing in-domain constraint routing with MPLS TE is quite mature. However, how to implement cross-domain constraint routing with MPLS TE is still a problem to be solved.
There are two methods at present for implementing cross-domain constraint routing with MPLS TE.
The first method: When implementing cross-domain constraint routing, the ERO sub-objects with loose attribute are set in the ERO of the route and are taken as border nodes to carry out cross-domain constraint routing. The procedure includes: MPLS TE first determines, according to the ERO set by the original node, the first node with loose attribute that the route will pass, calculates the path from the original node to the first node with loose attribute, after successful calculation triggers signals to establish LSP, and sends the PATH message carrying the ERO of the route to the first node with loose attribute; then MPLS TE determines, according to the ERO of the route, the next node with loose attribute that will be passed, calculates the path from the first node with loose attribute to the next node with loose attribute, triggers signals after successful calculation to establish LSP, and sends the PATH message carrying the ERO of the route to the next node with loose attribute until MPLS TE calculates the path to the cross-domain destination node.
The second method: When implementing cross-domain constraint routing, make no difference on whether a node is a border node, MPLS TE calculates all the paths of the cross-domain constraint route using TEDB till determines the constraint route from the original node to the destination node, thereby eventually implementing the cross-domain constraint routing.
FIG. 1 is a schematic illustrating the cross-domain constraint routing in the prior art. As shown in FIG. 1, the network includes two domains, AS1 and AS2, wherein the AS1 domain includes Label Switch Router (LSR) A, LSR B, LSR C, LSR D, and LSR E, and the AS2 domain includes LSR A1, LSR B1, LSR C1, LSR D1, and LSR E1. All LSRs have IP addresses based on IPv4, as well as entry IP addresses and exit IP addresses.
Suppose that a cross-domain constraint route is to be established from LSR A to LSR A1. In accordance with the first method, suppose that the ERO sub-objects in LSR A corresponding to LSR A, LSR C, LSR B, LSR A1, LSR B1, and the interface 10.10.3.2 between LSR B and LSR D as shown in FIG. 1 are all of loose attribute, then LSR A needs to calculate the path from LSR A to LSR B, LSR B needs to calculate the path from LSR B to the interface 10.10.3.2 between LSR B and LSR D, and the path from LSR B to LSR C, LSR C needs to calculate the path from LSR C to LSR B1, and LSR B1 needs to calculate the path from LSR B1 to LSR A1, so as to establish the route from LSR A to LSR A1. In FIG. 1, /24 represents the subnet mask of the network, wherein the figures before /24 combined with 0.1 represent the exit addresses of the nodes in the network and the digits before /24 combined with 0.2 represent the entry addresses of the nodes in the network. Therefore, this method requires calculation of the path of each segment on LSR A, LSR B, LSR C, and LSR B1, respectively, while actually it is only needed to calculate the paths from original node to border node, from border node to border node, and from border node to destination node, i.e., only the paths calculated on LSR A, LSR C, and LSR B1 are necessary.
In accordance with the second method, LSR A calculates every possible segment of a path, i.e., calculates the path from LSR A to LSR D via LSR B, and the path from LSR A to LSR C via LSR B. If LSR A fails to calculate an LSP segment, e.g., LSR A fails to calculate the path from LSR B to LSR D, LSR A will send a PATH message to LSR B, and only after LSR B has made the calculation will it be determined that the path segment from LSR B and LSR D does not exist on the route to be established.
Although cross-domain constraint routing may be implemented using MPLS TE in accordance with the above two methods, there may have some flaws in the methods: in the first method, as each segment of a path between original node and border node as well as between border nodes has to be calculated either by defining the attribute of the nodes that the route will pass as strict or by taking the nodes of loose attribute as border nodes, then in the process of implementing cross-domain constraint routing with MPLS TE, the attribute of the nodes that the route will pass has to be frequently defined or unnecessary calculation of certain segment of a path has to be made; in the second method, as the original node needs to calculate every possible segment of a path, unnecessary calculation and signaling action may be caused in the process of implementing cross-domain constraint routing with MPLS TE.